home *** CD-ROM | disk | FTP | other *** search
- %TITLE "ASCIIZ and Turbo Pascal String conversions"
-
- IDEAL
- MODEL TPASCAL
-
- CODESEG
-
- PUBLIC ASCIIZtoStr, StrToASCIIZ
-
- %NEWPAGE
- ;------------------------------------------------------------------------
- ; PROCEDURE ASCIIZtoStr( a : ASCIIZString; VAR s : String )
- ;------------------------------------------------------------------------
- PROC ASCIIZtoStr NEAR
- ARG a:dword, s:dword = ArgSize
- push ds
- les di,[s]
- push di
- inc di
- lds si,[a]
- cld
- xor cl,cl
- @@10:
- cmp cl,255
- je @@20
- lodsb
- or al,al
- jz @@20
- inc cl
- stosb
- jmp @@10
- @@20:
- pop di
- mov [byte es:di], cl
- pop ds
- ret
- ENDP ASCIIZtoStr
-
- %NEWPAGE
- ;--------------------------------------------------------------------
- ; PROCEDURE StrToASCIIZ( s : String; VAR a : ASCIIZString );
- ;--------------------------------------------------------------------
- PROC StrToASCIIZ NEAR
- ARG s:dword, a:dword = ArgSize
- push ds
- les di,[a]
- lds si,[s]
- cld
- xor ch,ch
- lodsb
- mov cl,al
- jcxz @@10
- repnz movsb
- @@10:
- mov [byte es:di], cl
- pop ds
- ret
- ENDP StrToASCIIZ
-
- END